Method and apparatus for transmitting media content

ABSTRACT

Aspects of the subject disclosure may include, for example, a method for providing redundancy in a video data stream. For every data frame of a plurality of data frames of video content, the method includes dividing the data frame into a plurality of data segments and copying a plurality of each of the plurality of data segments to the plurality of data frames in a data stream to provide redundancy for the data frame within the plurality of data frames in the data stream. The plurality of each of the plurality of data segments is distributed across the plurality of data frames to provide generate a plurality of redundancy-enhanced data frames that provide the redundancy over a protection interval associated with a network path. The method includes transmitting a data stream comprising the plurality of redundancy-enhanced data frames to a receiver via the network path. Other embodiments are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/511,959, filed Oct. 10, 2014. The contents ofthe foregoing is hereby incorporated by reference into this applicationas if set forth herein in full.

FIELD OF THE DISCLOSURE

The subject disclosure relates to a method and apparatus fortransmitting media content.

BACKGROUND

Media content is typically experienced by consumers via devices such ascomputers, televisions, radios, and mobile electronics. Media content isdelivered by service providers, who send the content, such astelevision, radio, and video programming, to consumers for enjoyment attheir physical locations. Modern communications networks benefit frominterconnectivity between consumers and various communication devices.As network capabilities expand, these interconnections provide newopportunities to enhance the ability for consumers to enjoy mediacontent by experiencing a variety of content over multiple devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 depicts illustrative embodiments of a system for providingcommunication services for consumers in a communication system;

FIG. 2A depicts illustrative embodiments of a streaming server of thecommunication system of FIG. 1;

FIG. 2B depicts illustrative embodiments of a multimedia receiver of thecommunication system of FIG. 1;

FIG. 3 depicts illustrative embodiments of a method for employing aredundancy mechanism for video content transmission used in portions ofthe system described in FIGS. 1, 2A, and 2B;

FIG. 4 depicts illustrative embodiments of a method for employing aredundancy mechanism for receiving video content in portions of thesystem described in FIGS. 1, 2A, and 2B.;

FIGS. 5-6 depict illustrative embodiments of communication systems thatprovide communication and media services for communication devicesaccording to embodiments illustrated in FIGS. 1, 2, and 4-5;

FIG. 7 depicts an illustrative embodiment of a web portal forinteracting with the communication systems of FIGS. 1, 2, and 4-5;

FIG. 8 depicts an illustrative embodiment of a communication device; and

FIG. 9 is a diagrammatic representation of a machine in the form of acomputer system within which a set of instructions, when executed, maycause the machine to perform any one or more of the methods describedherein.

DETAILED DESCRIPTION

The subject disclosure describes, among other things, illustrativeembodiments for providing redundancy for video data, includinguncompressed video data, for streaming on communication networks. Otherembodiments are described in the subject disclosure.

One or more aspects of the subject disclosure include a method andsystem for providing a data stream with video data for use by amultimedia device. Video content can be received at a server device inthe form of data frame data. Each data frame can be divided into datasegments according to an information dispersal algorithm. The datasegments can be copied and distributed to across other data frames asadditional data that can be used as a source of redundant data for thedata frame. The combination of data frames and data segments can betransmitted to the multimedia device as a data stream. If an event, sucha switch protection event, occurs during the transmission of the datastream and causes data representing a data frame to become corrupted,then the multimedia receiver can access the data segment information forthat data frame as that information has been distributed across otherdata frame locations within the data stream. The multimedia device canuse these distributed data segment data to reconstruct the corrupteddata frame.

In one or more aspects of the subject disclosure, the amount of datastream overhead that is associated with the redundant data segments canbe limited so as to retain efficient use of bandwidth over thecommunication network path. A limitation for the redundancy overhead canbe a known or determinable characteristic of error or loss of data forthe communication network path, such a switch protection interval. Themethod can use a known switch protection interval to determine a maximumpredicted loss of data associated with a switch protection event. Thispredicted loss can be used as a worst case for sizing the level ofredundancy that is included into the data stream. The communicationnetwork path can be a deterministic path or a non-deterministic path.Characteristics of error or loss of data can be more reliably andaccurately known or determined for deterministic networks. Therefore,the application of the method of streaming video data with redundancycan better limit overhead for redundancy for a deterministic network.

One embodiment of the subject disclosure includes a method includingreceiving, by a system comprising processor, uncompressed videocomprising a plurality of data frames. The method can also includedetermining, by the system, a switch protection interval for adeterministic network path. The method can further include, for everydata frame of a plurality of data frames, generating, by the system, aplurality of data segments from data representative of the data frame tocreate redundancy for the data frame in the plurality of data segments.The plurality of data segments can be sufficient to enable a multimediareceiver to reconstruct the data frame upon a corruption of a subset ofthe plurality of data segments. The method can include distributing, bythe system, a plurality of copies of the plurality of data segmentsamong the plurality of data frames to generate a plurality ofredundancy-enhanced data frames, which are sufficiently distributedacross the plurality of data frames to provide the redundancy over theswitch protection interval. The method can also include transmitting, bythe system, a data stream comprising the plurality ofredundancy-enhanced data frames to the multimedia receiver via thedeterministic network path.

One embodiment of the subject disclosure includes a device including amemory to store executable instructions and a processor. The executableinstructions, responsive to being executed by the processor, canfacilitate performance of operations including receiving video contentcomprising a plurality of data frames. The operations can also include,for every data frame of the plurality of data frames, dividing the dataframe into a plurality of data segments. The operations can furtherinclude appending a plurality of copies of the plurality of datasegments to the plurality of data frames in a data stream to generate aplurality of redundancy-enhanced data frames, which provide redundancyfor the data frame within the plurality of data frames in the datastream. The plurality of copies can be distributed across the pluralityof data frames to provide the redundancy over a switching protectioninterval associated with a network path. The operations can furtherinclude transmitting the data stream comprising the plurality ofredundancy-enhanced data frames to a multimedia receiver via the networkpath.

One embodiment of the subject disclosure includes a machine-readablestorage device, including executable instructions which, responsive tobeing executed by a processor, facilitate performance of operationsincluding, for every data frame of a plurality of data frames of videocontent, dividing the data frame into a plurality of data segments and,in turn, copying a plurality of each of the plurality of data segmentsto the plurality of data frames in a data stream to provide redundancyfor the data frame within the plurality of data frames in the datastream. The plurality of each of the plurality of data segments isdistributed across the plurality of data frames to provide generate aplurality of redundancy-enhanced data frames that provide the redundancyover a protection interval associated with a network path. Theoperations can further include transmitting a data stream comprising theplurality of redundancy-enhanced data frames to a receiver via thenetwork path.

One or more of the exemplary embodiments can include one or morecomponents or steps described in U.S. patent application, Ser. No.13/860,927, filed Apr. 11, 2013, entitled, “Redundant Data Dispersal inTransmission of Video Data Based on Frame Type,” which is a Continuationof U.S. patent application, Ser. No. 13/563,937 filed Aug. 1, 2012, andnow issued as U.S. Patent Number 8,442,115, entitled “Redundant DataDispersal in Transmission of Video Data Based on Frame Type,” which is aContinuation of U.S. patent application, Ser. No. 11/958,537, filed Dec.18, 2007, and now issued as U.S. Pat. No. 8,265,154, entitled “RedundantData Dispersal in Transmission of Video Data Based on Frame Type”, whereall sections of the aforementioned patents and applications areincorporated herein by reference in their entirety.

FIG. 1 depicts an illustrative embodiment of a system 100 that can beutilized for experiencing multiple media content programming In one ormore embodiments, the system 100 can include a communication network150. The system 100 can include a subscription telecommunicationservice, such as an Internet Protocol Multimedia Subsystem (IMS) network150 for providing cellular/mobile communications, Internet access, andcontent to mobile communication devices 116 via a mobility network ofmobile base stations 117. The system can include a subscription contentservice, such as an Internet Protocol Television (IPTV) network forproviding media content to subscribers. The IPTV network can be part ofa cable, satellite, or DSL based media content delivery system. Themedia content can be any type of viewable content, such as broadcasttelevision, cable or premium television, video on demand, orpay-per-view television. The IPTV network can deliver media content tomedia processing devices 106 and media display devices 108 at subscriberlocations via gateway devices 104.

In one or more embodiments, the system 100 can include one or moreservers 130 that are associated with the network, or network, 150. Inone embodiment, a streaming server 130 can communicate with mediaprocessor devices 106 and mobile communication devices 116 over thenetwork 150. The media server 130 can receive media content from a mediasource 114. The streaming server 130 can communicate with the network150 via a network interface 135. The media processor devices 106 canreceive media content originating from the streaming server 130 over thenetwork 150.

In one or more embodiments, a media processor device 106 can communicatewith a streaming server 130 via the IMS Network 150 by way of a gatewaydevice 104. The media processor device 106 can receive user inputs froma remote control device for performing functions, such as poweringON/OFF, selecting channels for viewing media programs, adjusting volume,and/or programming a digital video recorder. The media processor device106 can receive a user input for selecting a media program and/or achannel for receiving a media program. In one example, the mediaprocessor device 106 can present an electronic programming guide at amedia device 108 for assisting in the selection of media programming

In one or more embodiment, the streaming server 130 can receive mediacontent from one or more media sources 114. The media content canrepresent broadcast programming, video-on-demand (VoD) programming,commercial content, and the like. In one embodiment, the media contentcan be uncompressed video or video and audio content. That is, the videoor video and audio content that is made available to the streamingserver 130 can be in a form that is not compressed using, for example anencoding algorithm such as the motion picture experts group (MPEG)standard for encoding video data, which typically includes a level ofcompression. For example, the MPEG standard can use several types ofvideo frames (I. P, and B) to encode video information into a fileand/or stream of data. In the process of encoding video frame data underthis strategy, the MPEG standard can perform a compression of thestarting video data that requires less overall storage capacity and/ortransport bandwidth. By comparison, uncompressed video data can maintainvideo framing data in a homogenous format with no attempt to removevideo information that could be deemed redundant, from a visualstandpoint, and that could be removed via a systematic encodingarchitecture. Uncompressed video and/or audio content can typically beof higher resolution than MPEG compressed data and can maintainresolution across image types. However, the higher resolution ofuncompressed data can carry disadvantages such as a need for greaterstorage capacity and/or processing or transport bandwidth.

In one embodiment, copies of media content can be made available to thestreaming server 130 in various resolutions that are compatible withdiffering standards for standard television, high definition television,and/or ultra-high definition television. The streaming server 130 canprovide media content to many media processor devices 106 over thenetwork 150 via a high definition channel and/or an ultra-highdefinition channel The media content can be provided as broadcasttelevision or VoD programming

Data transmitted via a packet-switched network can be susceptible topacket loss, corruption, and/or excessive latency. Due to timingconstraints and the sheer volume of data, data loss or delay in thetransmission of encoded video data is particularly problematic. The lossof certain types of video information can result in significant visualartifacts in the presentation at the receiving end. Conventional datarecovery techniques adapted for generalized data transmission, such asthe use of high quality-of-service (QoS) circuits or the implementationof packet retransmission in accordance with the TelecommunicationsCommunication Protocol (TCP), have the potential to ameliorate the risksof lost video data. However, the implementation of these generalmechanisms may not be feasible due to cost or equipment availability. Toillustrate, the particular network being used may implement the UserDatagram Protocol (UDP), which does not provide a mechanism for theretransmission of lost packets. Further, these conventional datarecovery techniques fail to take into account particular characteristicsof encoded video data and therefore can inhibit the efficienttransmission of the encoded video data.

In one or more embodiments, a viewer's premises 104 can include anetwork interface or gateway 104, multimedia receiver 106, and a displaydevice 108. The multimedia receiver 106 can include, for example, a settop box (STB) device, a digital network radio receiver, a portablemultimedia device (e.g., a multimedia-enable cellular telephone or adigital radio receiver), and the like. In the context of a relativelyfixed multimedia receiver, a viewer's premises can include, for example,a residence or place of work of the viewer, a car, a boat, a plane orother vehicle, and the like. In the context of a portable multimediareceiver, such as a multimedia-enabled cellular phone, a viewer'spremises can include the viewer's personal space while operating themultimedia receiver. The display device 108 can include, for example, atelevision or a monitor.

In one or more embodiments, the network 106 can include any of a varietyof digital networks or a combination thereof. Examples of the network106 can include an Internet-Protocol (IP)-based network, such as theInternet, an Ethernet network, a wireless network (e.g., an IEEE 802.11alb/gin-compatible network), a satellite network, a Bluetooth™-basednetwork, and the like. The transmission medium of the network 106 forwire-based implementations can include, for example, a coaxialcable-based medium (e.g., a cable television medium), a digitalsubscriber line (DSL)-based medium (e.g., a plain old telephone system(POTS) medium), a fiber-optic medium, and the like.

In one or more embodiments, a network content source 108, in oneembodiment, includes a data store 114 (e.g., a memory, a hard drive,etc.) to store encoded video data representative of one or moremultimedia programs, a streaming server 130 to access the data store 114and to process encoded video data to be transmitted into sets of datasegments, and a network interface 118 to provide the resulting datasegments as the payloads of corresponding sets of network packets fortransmission to the viewer's premises 104 via the network 106. The datasegments can be transmitted as streaming, uncompressed video data.

In one or more embodiments, the viewer premises 104 can include amultimedia receiver 106, which, in turn, can be coupled to a gateway ora network interface 104 to receive streaming data and/or network packetsfrom the network 150. The multimedia processor 106 can include a dataprocessing module to process the data in the payloads of the receivedstreaming data and/or network packets to reassemble the received videodata, and to store the video data output from the data processingmodule. The multimedia receiver 106 further includes a video processingmodule to retrieve stored video data from the data store and to presentthe video data for display on the display device 108.

In one or more embodiments, the network interfaces 135 and 104 caninclude any of a variety of network interfaces suitable for the network150, such wireless network interfaces, wired Ethernet interfaces, andthe like. The display device 108 and the multimedia processor 106 caninclude any of a variety of interfaces, such as a digital videointerface (DVI), a high-definition multimedia receiver (HDMI), anS-video interface, a composite video interface (e.g., a coaxial cableinterface), a component video interface, and the like. The displayinterface further can include an audio interface for providing audiosignaling to the display device 108.

In one or more embodiments, the streaming server 130 and the multimediareceiver 106 can be implemented as software, hardware, firmware, orcombinations thereof. For example, in one embodiment one or both of thestreaming server 130 or the multimedia receiver 106 can include astorage element (e.g., a memory or a hard disk—not shown) to store aprogram of instructions and a processor (not shown), whereby the programof instructions is executable by the processor to manipulate theprocessor so as to perform the techniques described herein with respectto the respective data processing module. As another example, one orboth of the streaming server 130 and the multimedia receiver 106,alternately, can be implemented as a hardware state machine (as part of,or separate from, the corresponding network interface) to implement thetechniques described herein.

In one or more embodiments, a viewer at the viewer's premises 104 caninitiate a presentation of a multimedia program by inputting a requestfor the multimedia program (e.g., by selecting a particular channel viaa remote control) to the multimedia receiver 106. In response, themultimedia receiver 106 transmits a request for the multimedia programto the service provider 102 via the network 106. At the network contentsource 108 of the service provider 102, the streaming server 130 canaccess video data representative of the requested multimedia program andprepares the video data for transmission via the network interface 135.In one embodiment, the video data can be stored or received inuncompressed form and the streaming server 139 can prepare the videodata for transmission. As part of preparing the video data fortransmission, the streaming server 130 can perform a redundancy processwherein the video data can be segmented, on frame-by-frame basis, intomany data segments according to a redundancy algorithm. The streamingserver 130 can distribute copies of the video data segments across anumber of instances of video frame data to generate redundancy-enhancedvideo frames. In essence, each video frame in the redundancy-enhancedvideo frames can include data segment information that is derived fromsegments of other video frames. If corruption is subsequently detectedfor any data frame that is received at the media processor 106 from thestreaming server 130, then distributed data segments can be collectedfrom the data stream and used to reconstruct the vide data. Meanwhile,the corrupted video data can be discarded. The streaming data, includingvideo frames and redundant data segments, can be transmitted over thenetwork 150, where these can be received at the multimedia device 104.In one embodiment, the network interface 135 can encapsulate each datasegment into a separate network packet and provides the resultingnetwork packets for transmission to the multimedia receiver 106 via thenetwork 106.

In one of more embodiments, the streaming server 130 can transmit a datastream of uncompressed video data, including the redundancy-enhancedvideo frames, using a deterministic network link of the network 150. Forexample, the deterministic network link can be an L1 (physical layer) orL2 (protocol or data link layer) communication link. In one example, theuncompressed video data can be transmitted from the streaming server 130to the multimedia receiver 106 via a dedicated Ethernet link. In variousembodiments, the video data can be segmented into packets or can betransmitted as a continuous data stream. By selecting a deterministicpath rather than a non-deterministic path, such as multicasting datapackets, the method can achieve predictable delivery conditions,including latency, switching protection latency, and data losses. Thepredictability of a deterministic data path is offset by the fact thatthe built-in redundancies of multicasting and/or dual-piping are lost.However, by incorporating redundancy into at the video segment level,the predictability of corruption conditions for the deterministic pathcan be leveraged to generate a high level of redundancy and robustnesswith minimal impact on efficiency.

In one or more embodiments, the streaming server 130 can apply aredundancy mechanism to uncompressed video data so as to permit recoveryof video data at the multimedia receiver 106 in the event of data loss,data corruption, or excessive transmission latency. However, theapplication of the redundancy mechanism to the video data for amultimedia program could result in a significant, and perhapsprohibitive, increase in the processing bandwidth necessary to implementthe redundancy mechanism and/or in the network bandwidth necessary totransmit the resulting data with redundancy information built in. Toavoid this potential problem, the streaming server 130 can selectivelyadd redundancy to a level sufficient to overcome the known andanticipated maximum loss, corruption, and/or transmission latency forthe deterministic delivery path. For example, if the deterministic datapath is capable of 10 gigabit Ethernet (10 GE), and the data path (orpipe) is carrying uncompressed video at 70% of capacity (7 Gigabit),then a switch to protection event with an interval of 100 millisecondwould lead to a predicted, maximum data loss during the switch toprotection event of would be 0.7 GB of the transmitted video data.Therefore, fully 10% of data would be lost during the switch toprotection event. Calculated another way, if full motion uncompressedvideo is being carried by the deterministic data path at 30frames/second, then this same switch to protection interval would causea loss of 3 frames of the 30 frames/second.

With a deterministic transmission path, the switching protection losscan be accurately assessed. Further, the redundancy of data segments forthe streaming data can be “right sized” to cover the worst case oflosing 10% of the data while avoiding the inefficient inclusion ofgreater amounts of redundancy that can slow down performance of thesystem 100 while gaining no advantage in worst case performance.Further, in one embodiment, an information dispersal algorithm can apply10% redundancy to each video frame to address the worst case, 10% dataloss scenario. Note, however, that if there are great discrepanciesbetween latencies on transmission paths, the switch to protectioninterval must account for added resynchronization time when moving froma short to a long path.

In one or more embodiments, any of a variety of redundancy mechanismscan be used to redundantly distribute the data of a frame among a set ofdata segments. To illustrate, the redundancy mechanism can include asoftware-based or hardware-based implementation of the InformationDispersal Algorithm (IDA) described by Michael 0. Rabin in “EfficientDispersal of Information for Security, Load Balancing, and FaultTolerance,” Journal of the Association of Computing Machinery, Vol. 36,No. 2, April 1989, pp. 335-348, the entirety of which is incorporated byreference herein. As described in the referenced paper, the IDAtransforms a file F (the data of a frame in this case) into n pieces (ordata segments) via a matrix product of a sequence of vectors tocorresponding portions to the file F such that m pieces (m<n) sufficefor reconstructing the file F via the inverse of the segmentationoperation. The number m of pieces (data segments) necessary to recoverthe entire file F (data of a frame) can be adjusted as appropriatethrough manipulation of the algorithm, but with the tradeoff that thetotal data size of the n generated pieces (data segments) is equal to(n/m)*IFI, where IFI represents the total size of the file F (the dataof the frame). Thus, as the number m decreases, the total data size ofthe resulting set of data segments increases, and vice versa. Thebalance between bandwidth efficiency and data recovery therefore can beset on an implementation-by-implementation basis. Although the IDA isone example of a redundancy mechanism that can be advantageously used,those skilled in the art can use other redundancy mechanisms todistribute data of certain frames redundantly among a set of datasegments without departing from the scope of the present disclosure. Toillustrate, a forward error correction (FEC)-based technique instead canbe used as a redundancy mechanism, as can the broadcast of multipleredundant data streams, whereby a complete data stream can beconstructed at the receiving end by switching between the multipleredundant data streams as appropriate using a switch or a router.

In one or more embodiments, at the receiving end, the multimediareceiver 106 can receive a data stream having the video data, which canbe in packetized form, including the data segments for the frames of therequested video stream. The network interface 120 can extract the datasegments and provides them to a data processing module. The dataprocessing module can reconstruct the frames of the requested multimediaprogram from the extracted data segments. In the event that one or moredata segments for a frame are lost, corrupted, or not timely received,and are not able to be retransmitted in a timely manner, the multimediareceiver 106 can determine whether the data segments of the frame wereprocessed at the transmitting end to incorporate redundancy. If not, themultimedia receiver 106 can initiate an error-handling process to handlethe corrupted frame. This error-handling process can include storing theremaining data as a corrupted frame in a data store, filling in themissing data with a default value and storing the resulting frame in thedata store, or discarding the entire frame. In these situations, thesubsequent processing may introduce a visual artifact in the resultingdisplay frame.

In one or more embodiments, if the data segments were processed toincorporate redundancy, the multimedia processor 106 can use thereceived data segments to recover the missing data and store theresulting frame in a data store. Moreover, in at least one embodiment,assembly of the frame from data segments with redundancy information canbe initiated once a sufficient number of data segments have beenreceived so as to permit recovery of the data in the other data segmentsthat have yet to be received. Thus, once a minimum number of datasegments for a frame has been received, processing of the frame can beinitiated without having to wait for the remainder of the data segmentsto arrive at the receiving end. In the event that too few data segmentsare available to recover the missing data, an error-handling process mayneed to be initiated for the corrupted frame. However, in the event thatthe distribution of data of a frame with redundancy is performed onlyfor those frames that affect the decoding of multiple frames, theinability to fully recover such a frame may introduce a severe visualartifact in the presentation of the video content.

FIG. 2A depicts illustrative embodiments of a streaming server 130 ofthe communication system of FIG. 1. In one or more embodiments, thestreaming server 130 can include a buffer 202 (e.g., the data store 114of FIG. 1 or a different data store), a segmenter module 204, and aredundancy mechanism module 208. The segmenter module 204 and theredundancy mechanism module 208 can be implemented as software,hardware, firmware, or combinations thereof.

In one or more embodiments, the segmenter module 204 can be configuredto operate on uncompressed video data being processed for transmissionon a frame-by-frame basis. The segmenter module 204 can access datarepresentative of at least a portion of a frame 203 for processing. Thesegmenter module 204 can apply the redundancy mechanism 208 insegmenting the data of the frame 203 such that the informationrepresented by the frame is redundantly distributed among the set 210 ofdata segments such that a subset of at least a certain number of the set210 can be used to recover data lost by the loss, corruption, orexcessive delay of other data segments of the set 210. Moreover, theredundant distribution of information throughout the set 210 of datasegments permits the receiving end to reconstruct the frame once asufficient subset of data segments has been received without having towait for receipt of all of the data segments.

It will be appreciated that the redundant distribution of data of theframe 203 among the set 210 typically increases the overall data size ofthe set 210 such that the total data size of the set 210 is greater thanthe total data size of the frame 203, whereas the segmentation of theframe 203 without redundancy will result in the set 210 having a totaldata size approximately equal to the total data size of the frame 203.Thus, by limiting the distribution of copies of the redundant data suchthat the overall amount of redundancy is sufficient to deal with theknown switch protection interval, the appreciable impact on theprocessing and transmission efficiency and reliable transmission ofvideo content is minimized

In one or more embodiments, the network interface 135 can receive thedata segments of the set 210 and, optionally, packetize each datasegment into a different network packet of a corresponding set 220 ofnetwork packets NP1, NP2, . . . , NPn (illustrated as network packets221-223). Any of a variety of packet formats can be implemented based onthe protocol of the network 150 (FIG. 1). To illustrate, the network 150may support the Real-Time Transport Protocol (RTP), which providesend-to-end network transport functions for applications transmittingreal-time data, such as audio and video data, over multicast or unicastnetwork services. In this case, the network packets of the set 220 cancomprise RTP formatted packets (which in tum encapsulate UDP packets).Alternatively, data segments can be transmitted as unpacketized datausing, for example, HDMI.

In one or more embodiments, the network interface 135 can provide thepacketized set 220 or the unpacketized set 210 to the network 150 fortransmission to the multimedia receiver 106 via a deterministic networkpath. In one or more embodiments, where one or more of the data segmentsfrom the set 220 may be lost, corrupted, or excessively delayed as theynavigate the nodes of the network 106. In instances where the datasegments of the frame 203 are generated without redundancy, the loss,corruption, or excessive delay of one of the network packets typicallywill result in an unrecoverable error in reforming the frame 203 at thereceiving end. However, in instances where the data segments of theframe 203 are generated with redundancy, the receiving end typicallywould be able to recover lost data using the redundancy built into theremaining data segments that were received at the receiving end.

FIG. 2B depicts illustrative embodiments of a multimedia receiver of thecommunication system of FIG. 1. In one or more embodiments, themultimedia receiver 106 includes a first buffer 272, a second buffer288, and an assembler module 282. The assembler module 404 can beimplemented as software, hardware, firmware, or combinations thereof. Inone or more embodiments, the network interface 135 can receive a set 260of network packets NP1, NP2, . . . , NPn (illustrated as network packets261-263), each having a data segment representative of information of aframe 286 of encoded video data. The set 260 can correspond to, forexample, the set 220 of network packets of FIG. 2A, with the exceptionthat one or more network packets may have been lost, corrupted, orexcessively delayed during their transmission via the network 150.Alternately, the set 260 can represent a subset of data segments withredundant information that is sufficient to reconstruct the entire frameusing the redundant information without having to wait for receipt ofthe remaining data segments. The network interface 135 can extract thedata segments of the received network packets to generate a set 270 ofdata segments DS1, DS2, . . . , DSn (illustrated as data segments271-273) representative of the frame 286. The set 270 can be stored inthe first buffer 272.

In one or more embodiments, due to packet loss, corruption or delay, ordue to the desire to expedite processing of the frame, the set 270 mayrepresent only a subset of the set 220 (FIG. 2A) of data segmentsgenerated from the corresponding frame. Accordingly, when accessing theset 270 from the buffer 272 to generate the corresponding frame 286, theassembler module 282 can recognize that the redundancy mechanism 208 wasapplied to the data of the video frame in generating the correspondingset of data segments and thus the assembler module 282 uses a recoverymechanism 284 to generate the data of the frame 286 from the set 270 ofdata segments (where the recovery mechanism reverses the redundantdistribution of data among the set of data segments performed byapplication of the recovery mechanism 284 of FIG. 2B). In the event ofdata loss (i.e., the set 270 is not the complete set of data segments),the assembler module 282 can use the recovery mechanism 284 to recoverthe lost data using the built-in redundancy in the remaining datasegments. Otherwise, if all data is present, the assembler module 282can use the recovery mechanism 284 to extract the data of the frame 286from the data of the set 270 of data segments and provide the data ofthe frame 286 to the second buffer 288 for storage.

FIG. 3 depicts illustrative embodiments of a method for employing aredundancy mechanism for video content transmission used in portions ofthe system described in FIGS. 1, 2A, and 2B. At step 304, the streamingserver 130 receives video data as data frames. At step 308, each dataframe can be divided into data segments according to an informationdispersal algorithm. At step 312 data segments can be copied anddistributed to across other data frames as additional data that can beused as a source of redundant data for the data frame. At steps 316 and318, the processes of generating data segments and distributing datasegments for redundancy can be repeated until all of the data frames areprocessed. At steps 320 and 324, the combination of data frames and datasegments can be used to form a data stream, which can be transmitted tothe multimedia device.

FIG. 4 depicts illustrative embodiments of a method for employing aredundancy mechanism for receiving video content in portions of thesystem described in FIGS. 1, 2A, and 2B. At step 404, a multimediadevice can receive the data stream from the streaming server. At step408, the multimedia device can extract a data frame from the datastream. At step 412, if the data representing the data frame has becomecorrupted, then the multimedia receiver can access the data segmentinformation for that data frame as that information has been distributedacross other data frame locations within the data stream in step 428.The multimedia device can use these distributed data segment data toreconstruct the corrupted data frame at step 432. At step 416, themultimedia device can assemble the data frame, whether not corrupted orcorrupted but corrected, to the video data. This process is repeated forevery frame until all the frames have been completed as directed bysteps 420 and 424. The assembled video data can be presented at step436.

FIG. 5 depicts an illustrative embodiment of a first communicationsystem 500 for delivering media content. The communication system 500can represent an Internet Protocol Television (IPTV) media system.Communication system 500 can be overlaid or operably coupled with system100 of FIG. 1, 2A, and 2B as another representative embodiment ofcommunication system 500. For instance, one or more devices illustratedin the communication system 500 of FIG. 5 can be used for providing adata stream with redundancy to a consumer device in a communicationnetwork 500. A streaming server 530 can receive video data and can addredundancy to the video data by dividing the video data into datasegments. The data segments can be distributed across video data in thestream. The degree to which redundancy is included can be tailoredaccording to a maximum expected data loss or corruption for the networkdata path that is used for streaming the data to a multimedia device.

The IPTV media system can include a super head-end office (SHO) 510 withat least one super headend office server (SHS) 511 which receives mediacontent from satellite and/or terrestrial communication systems. In thepresent context, media content can represent, for example, audiocontent, moving image content such as 2D or 3D videos, video games,virtual reality content, still image content, and combinations thereof.The SHS server 511 can forward packets associated with the media contentto one or more video head-end servers (VHS) 514 via a network of videohead-end offices (VHO) 512 according to a multicast communicationprotocol.

The VHS 514 can distribute multimedia broadcast content via an accessnetwork 518 to commercial and/or residential buildings 502 housing agateway 504 (such as a residential or commercial gateway). The accessnetwork 518 can represent a group of digital subscriber line accessmultiplexers (DSLAMs) located in a central office or a service areainterface that provide broadband services over fiber optical links orcopper twisted pairs 519 to buildings 502. The gateway 504 can usecommunication technology to distribute broadcast signals to mediaprocessors 506 such as Set-Top Boxes (STBs) which in turn presentbroadcast channels to media devices 508 such as computers or televisionsets managed in some instances by a media controller 507 (such as aninfrared or RF remote controller).

The gateway 504, the media processors 506, and media devices 508 canutilize tethered communication technologies (such as coaxial, powerlineor phone line wiring) or can operate over a wireless access protocolsuch as Wireless Fidelity (WiFi), Bluetooth®, Zigbee®, or other presentor next generation local or personal area wireless network technologies.By way of these interfaces, unicast communications can also be invokedbetween the media processors 506 and subsystems of the IPTV media systemfor services such as video-on-demand (VoD), browsing an electronicprogramming guide (EPG), or other infrastructure services.

A satellite broadcast television system 529 can be used in the mediasystem of FIG. 5. The satellite broadcast television system can beoverlaid, operably coupled with, or replace the IPTV system as anotherrepresentative embodiment of communication system 500. In thisembodiment, signals transmitted by a satellite 515 that include mediacontent can be received by a satellite dish receiver 531 coupled to thebuilding 502. Modulated signals received by the satellite dish receiver531 can be transferred to the media processors 506 for demodulating,decoding, encoding, and/or distributing broadcast channels to the mediadevices 508. The media processors 506 can be equipped with a broadbandport to an Internet Service Provider (ISP) network 532 to enableinteractive services such as VoD and EPG as described above.

In yet another embodiment, an analog or digital cable broadcastdistribution system such as cable TV system 533 can be overlaid,operably coupled with, or replace the IPTV system and/or the satelliteTV system as another representative embodiment of communication system500. In this embodiment, the cable TV system 533 can also provideInternet, telephony, and interactive media services.

The subject disclosure can apply to other present or next generationover-the-air and/or landline media content services system.

Some of the network elements of the IPTV media system can be coupled toone or more computing devices 530, a portion of which can operate as aweb server for providing web portal services over the ISP network 532 towireline media devices 508, and/or wireless communication devices 516.For example, a streaming server 530 can communicate with a multimediadevice 106 to configure how the multimedia device 106 handles a datastream with redundancy.

Communication system 500 can also provide for all or a portion of thecomputing devices 530 to function as a streaming server 530 (hereinreferred to as server 530). The server 530 can use computing andcommunication technology to perform function 562, which can includeamong other things, the redundancy techniques described by method 400 ofFIG. 4. For instance, function 562 of server 530 can be similar to thefunctions described for servers 130 of FIG. 1 in accordance with method300. The media processors 506 and wireless communication devices 516 canbe provisioned with software functions 564 and 566, respectively, toutilize the services of the server 530. For instance, functions 564 and566 of media processors 506 and wireless communication devices 516 canbe similar to the functions described for the multimedia processor 106of FIG. 1 in accordance with method 400.

Multiple forms of media services can be offered to media devices overlandline technologies such as those described above. Additionally, mediaservices can be offered to media devices by way of a wireless accessbase station 517 operating according to common wireless access protocolssuch as Global System for Mobile or GSM, Code Division Multiple Accessor CDMA, Time Division Multiple Access or TDMA, Universal MobileTelecommunications or UMTS, World interoperability for Microwave orWiMAX, Software Defined Radio or SDR, Long Term Evolution or LTE, and soon. Other present and next generation wide area wireless access networktechnologies can be used in one or more embodiments of the subjectdisclosure.

FIG. 6 depicts an illustrative embodiment of a communication system 600employing an IP Multimedia Subsystem (IMS) network architecture tofacilitate the combined services of circuit-switched and packet-switchedsystems. Communication system 600 can be overlaid or operably coupledwith system 100 of FIGS. 1, 2A, and 2B, and communication system 500 asanother representative embodiment of communication system 500.

For instance, one or more devices illustrated in the communicationsystem 600 of FIG. 6 can be used for providing a data stream withredundancy to a consumer device in a communication network 650. Astreaming server 530 can receive video data and can add redundancy tothe video data by dividing the video data into data segments. The datasegments can be distributed across video data in the stream. The degreeto which redundancy is included can be tailored according to a maximumexpected data loss or corruption for the network data path that is usedfor streaming the data to a multimedia device.

Communication system 600 can comprise a Home Subscriber Server (HSS)640, a tElephone NUmber Mapping (ENUM) server 630, and other networkelements of a network 650. The network 650 can establish communicationsbetween IMS-compliant communication devices (CDs) 601, 602, PublicSwitched Telephone Network (PSTN) CDs 603, 605, and combinations thereofby way of a Media Gateway Control Function (MGCF) 620 coupled to a PSTNnetwork 660. The MGCF 620 need not be used when a communication sessioninvolves IMS CD to IMS CD communications. A communication sessioninvolving at least one PSTN CD may utilize the MGCF 620.

IMS CDs 601, 602 can register with the network 650 by contacting a ProxyCall Session Control Function (P-CSCF) which communicates with aninterrogating CSCF (I-CSCF), which in turn, communicates with a ServingCSCF (S-CSCF) to register the CDs with the HSS 640. To initiate acommunication session between CDs, an originating IMS CD 601 can submita Session Initiation Protocol (SIP INVITE) message to an originatingP-CSCF 604 which communicates with a corresponding originating S-CSCF606. The originating S-CSCF 606 can submit the SIP INVITE message to oneor more application servers (ASs) 617 that can provide a variety ofservices to IMS subscribers.

For example, the application servers 617 can be used to performoriginating call feature treatment functions on the calling party numberreceived by the originating S-CSCF 606 in the SIP INVITE message.Originating treatment functions can include determining whether thecalling party number has international calling services, call IDblocking, calling name blocking, 7-digit dialing, and/or is requestingspecial telephony features (e.g., *72 forward calls, *73 cancel callforwarding, *67 for caller ID blocking, and so on). Based on initialfilter criteria (iFCs) in a subscriber profile associated with a CD, oneor more application servers may be invoked to provide various calloriginating feature services.

Additionally, the originating S-CSCF 606 can submit queries to the ENUMsystem 630 to translate an E.164 telephone number in the SIP INVITEmessage to a SIP Uniform Resource Identifier (URI) if the terminatingcommunication device is IMS-compliant. The SIP URI can be used by anInterrogating CSCF (I-CSCF) 607 to submit a query to the HSS 640 toidentify a terminating S-CSCF 614 associated with a terminating IMS CDsuch as reference 602. Once identified, the I-CSCF 607 can submit theSIP INVITE message to the terminating S-CSCF 614. The terminating S-CSCF614 can then identify a terminating P-CSCF 616 associated with theterminating CD 602. The P-CSCF 616 may then signal the CD 602 toestablish Voice over Internet Protocol (VoIP) communication services,thereby enabling the calling and called parties to engage in voiceand/or data communications. Based on the iFCs in the subscriber profile,one or more application servers may be invoked to provide various callterminating feature services, such as call forwarding, do not disturb,music tones, simultaneous ringing, sequential ringing, etc.

In some instances the aforementioned communication process issymmetrical. Accordingly, the terms “originating” and “terminating” inFIG. 6 may be interchangeable. It is further noted that communicationsystem 600 can be adapted to support video conferencing. In addition,communication system 600 can be adapted to provide the IMS CDs 601, 602with the multimedia and Internet services of communication system 600 ofFIG. 6.

If the terminating communication device is instead a PSTN CD such as CD603 or CD 605 (in instances where the cellular phone only supportscircuit-switched voice communications), the ENUM system 630 can respondwith an unsuccessful address resolution which can cause the originatingS-CSCF 606 to forward the call to the MGCF 620 via a Breakout GatewayControl Function (BGCF) 619. The MGCF 620 can then initiate the call tothe terminating PSTN CD over the PSTN network 660 to enable the callingand called parties to engage in voice and/or data communications.

It is further appreciated that the CDs of FIG. 6 can operate as wirelineor wireless devices. For example, the CDs of FIG. 6 can becommunicatively coupled to a cellular base station 621, a femtocell, aWiFi router, a Digital Enhanced Cordless Telecommunications (DECT) baseunit, or another suitable wireless access unit to establishcommunications with the network 650 of FIG. 6. The cellular access basestation 621 can operate according to common wireless access protocolssuch as GSM, CDMA, TDMA, UMTS, WiMax, SDR, LTE, and so on. Other presentand next generation wireless network technologies can be used by one ormore embodiments of the subject disclosure. Accordingly, multiplewireline and wireless communication technologies can be used by the CDsof FIG. 6.

Cellular phones supporting LTE can support packet-switched voice andpacket-switched data communications and thus may operate asIMS-compliant mobile devices. In this embodiment, the cellular basestation 621 may communicate directly with the network 650 as shown bythe arrow connecting the cellular base station 621 and the P-CSCF 616.

Alternative forms of a CSCF can operate in a device, system, component,or other form of centralized or distributed hardware and/or software.Indeed, a respective CSCF may be embodied as a respective CSCF systemhaving one or more computers or servers, either centralized ordistributed, where each computer or server may be configured to performor provide, in whole or in part, any method, step, or functionalitydescribed herein in accordance with a respective CSCF. Likewise, otherfunctions, servers and computers described herein, including but notlimited to, the HSS, the ENUM server, the BGCF, and the MGCF, can beembodied in a respective system having one or more computers or servers,either centralized or distributed, where each computer or server may beconfigured to perform or provide, in whole or in part, any method, step,or functionality described herein in accordance with a respectivefunction, server, or computer.

A streaming server 530 of FIG. 5 can be operably coupled tocommunication system 600 for purposes similar to those described above.The streaming server 530 can perform function 562 and thereby providecommunication signal streaming services to the CDs 601, 602, 603 and 605of FIG. 5 similar to the functions described for server 530 of FIG. 6 inaccordance with method 400 of FIG. 4. CDs 601, 602, 603 and 605, whichcan be adapted with software to perform function 562 to utilize theservices of the streaming server 530 similar to the functions describedfor communication devices 516 of FIG. 5 in accordance with method 400 ofFIG. 4. The streaming server 530 can be an integral part of theapplication server(s) 617 performing function 674, which can besubstantially similar to function 562 and adapted to the operations ofthe network 650.

For illustration purposes only, the terms S-CSCF, P-CSCF, I-CSCF, and soon, can be server devices, but may be referred to in the subjectdisclosure without the word “server.” It is also understood that anyform of a CSCF server can operate in a device, system, component, orother form of centralized or distributed hardware and software. It isfurther noted that these terms and other terms such as DIAMETER commandsare terms can include features, methodologies, and/or fields that may bedescribed in whole or in part by standards bodies such as 3^(rd)Generation Partnership Project (3GPP). It is further noted that some orall embodiments of the subject disclosure may in whole or in partmodify, supplement, or otherwise supersede final or proposed standardspublished and promulgated by 3GPP.

FIG. 7 depicts an illustrative embodiment of a web portal 702 of acommunication system 700. Communication system 700 can be overlaid oroperably coupled with systems 100 of FIGS. 1, 2A, 2B, and 3,communication system 500, and/or communication system 600 as anotherrepresentative embodiment of systems 100 of FIGS. 1, 2A, 2B, and 3,communication system 500, and/or communication system 600. The webportal 702 can be used for managing services of communication system 100of FIGS. 1, 2A, 2B, and 3, and communication systems 500-600. A web pageof the web portal 702 can be accessed by a Uniform Resource Locator(URL) with an Internet browser using an Internet-capable communicationdevice such as those described in FIGS. 1, 2A, 2B, and 3, and FIGS. 4-5.The web portal 702 can be configured, for example, to access a mediaprocessor 506 and services managed thereby such as a Digital VideoRecorder (DVR), a Video on Demand (VoD) catalog, an ElectronicProgramming Guide (EPG), or a personal catalog (such as personal videos,pictures, audio recordings, etc.) stored at the media processor 506. Theweb porta 1702 can also be used for provisioning IMS services describedearlier, provisioning Internet services, provisioning cellular phoneservices, and so on.

The web portal 702 can further be utilized to manage and provisionsoftware applications 562-566, and 672-674 to adapt these applicationsas may be desired by subscribers and/or service providers of system 100of FIGS. 1, 2A, 2B, and 3, and communication systems 500-600. Forinstance, users of the services provided by a streaming server 530 orserver 530 can log into their on-line accounts and communicate with astreaming server 530, which can communicate with a streaming server 130to configure how the streaming server 130 provides a data stream withredundancy to a consumer device in a communication network 500. Astreaming server 530 can receive video data and can add redundancy tothe video data by dividing the video data into data segments. The datasegments can be distributed across video data in the stream. The degreeto which redundancy is included can be tailored according to a maximumexpected data loss or corruption for the network data path that is usedfor streaming the data to a multimedia device. Service providers can logonto an administrator account to provision, monitor and/or maintain thesystem 100 of FIGS. 1, 2A, 2B, and 3 and/or server 530 of FIGS. 5 and 6.

FIG. 8 depicts an illustrative embodiment of a communication device 800.Communication device 800 can serve in whole or in part as anillustrative embodiment of the devices depicted in FIGS. 1, 2A, 2B, 3,and FIGS. 4-5. Communication device 800 in whole or in part canrepresent any of the communication devices described in FIGS. 1, 2A, 2B,3, and 4-5 and can be configured to perform portions of method 400 ofFIG. 4.

Communication device 800 can comprise a wireline and/or wirelesstransceiver 802 (herein transceiver 802), a user interface (UI) 804, apower supply 814, a location receiver 816, a motion sensor 818, anorientation sensor 820, and a controller 806 for managing operationsthereof. The transceiver 802 can support short-range or long-rangewireless access technologies such as Bluetooth®, ZigBee®, WiFi, DECT, orcellular communication technologies, just to mention a few (Bluetooth®and ZigBee® are trademarks registered by the Bluetooth Special InterestGroup and the ZigBee® Alliance, respectively). Cellular technologies caninclude, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO,WiMAX, SDR, LTE, as well as other next generation wireless communicationtechnologies as they arise. The transceiver 802 can also be adapted tosupport circuit-switched wireline access technologies (such as PSTN),packet-switched wireline access technologies (such as TCP/IP, VoIP,etc.), and combinations thereof.

The UI 804 can include a depressible or touch-sensitive keypad 808 witha navigation mechanism such as a roller ball, a joystick, a mouse, or anavigation disk for manipulating operations of the communication device800. The keypad 808 can be an integral part of a housing assembly of thecommunication device 800 or an independent device operably coupledthereto by a tethered wireline interface (such as a USB cable) or awireless interface supporting for example Bluetooth®. The keypad 808 canrepresent a numeric keypad commonly used by phones, and/or a QWERTYkeypad with alphanumeric keys. The UI 804 can further include a display810 such as monochrome or color LCD (Liquid Crystal Display), OLED(Organic Light Emitting Diode) or other suitable display technology forconveying images to an end user of the communication device 800. In anembodiment where the display 810 is touch-sensitive, a portion or all ofthe keypad 808 can be presented by way of the display 810 withnavigation features.

The display 810 can use touch screen technology to also serve as a userinterface for detecting user input. As a touch screen display, thecommunication device 800 can be adapted to present a user interface withgraphical user interface (GUI) elements that can be selected by a userwith a touch of a finger. The touch screen display 810 can be equippedwith capacitive, resistive or other forms of sensing technology todetect how much surface area of a user's finger has been placed on aportion of the touch screen display. This sensing information can beused to control the manipulation of the GUI elements or other functionsof the user interface. The display 810 can be an integral part of thehousing assembly of the communication device 800 or an independentdevice communicatively coupled thereto by a tethered wireline interface(such as a cable) or a wireless interface.

The UI 804 can also include an audio system 812 that utilizes audiotechnology for conveying low volume audio (such as audio heard inproximity of a human ear) and high volume audio (such as speakerphonefor hands free operation). The audio system 812 can further include amicrophone for receiving audible signals of an end user. The audiosystem 812 can also be used for voice recognition applications. The UI804 can further include an image sensor 813 such as a charged coupleddevice (CCD) camera for capturing still or moving images.

The power supply 814 can utilize common power management technologiessuch as replaceable and rechargeable batteries, supply regulationtechnologies, and/or charging system technologies for supplying energyto the components of the communication device 800 to facilitatelong-range or short-range portable applications. Alternatively, or incombination, the charging system can utilize external power sources suchas DC power supplied over a physical interface such as a USB port orother suitable tethering technologies.

The location receiver 816 can utilize location technology such as aglobal positioning system (GPS) receiver capable of assisted GPS foridentifying a location of the communication device 800 based on signalsgenerated by a constellation of GPS satellites, which can be used forfacilitating location services such as navigation. The motion sensor 818can utilize motion sensing technology such as an accelerometer, agyroscope, or other suitable motion sensing technology to detect motionof the communication device 800 in three-dimensional space. Theorientation sensor 820 can utilize orientation sensing technology suchas a magnetometer to detect the orientation of the communication device800 (north, south, west, and east, as well as combined orientations indegrees, minutes, or other suitable orientation metrics).

The communication device 800 can use the transceiver 802 to alsodetermine a proximity to a cellular, WiFi, Bluetooth®, or other wirelessaccess points by sensing techniques such as utilizing a received signalstrength indicator (RSSI) and/or signal time of arrival (TOA) or time offlight (TOF) measurements. The controller 806 can utilize computingtechnologies such as a microprocessor, a digital signal processor (DSP),programmable gate arrays, application specific integrated circuits,and/or a video processor with associated storage memory such as Flash,ROM, RAM, SRAM, DRAM or other storage technologies for executingcomputer instructions, controlling, and processing data supplied by theaforementioned components of the communication device 800.

Other components not shown in FIG. 8 can be used in one or moreembodiments of the subject disclosure. For instance, the communicationdevice 800 can include a reset button (not shown). The reset button canbe used to reset the controller 806 of the communication device 800. Inyet another embodiment, the communication device 800 can also include afactory default setting button positioned, for example, below a smallhole in a housing assembly of the communication device 800 to force thecommunication device 800 to re-establish factory settings. In thisembodiment, a user can use a protruding object such as a pen or paperclip tip to reach into the hole and depress the default setting button.The communication device 800 can also include a slot for adding orremoving an identity module such as a Subscriber Identity Module (SIM)card. SIM cards can be used for identifying subscriber services,executing programs, storing subscriber data, and so forth.

The communication device 800 as described herein can operate with moreor less of the circuit components shown in FIG. 8. These variantembodiments can be used in one or more embodiments of the subjectdisclosure.

The communication device 800 can be adapted to perform the functions ofdevices of FIGS. 1, 2A, 2B, and 3, the media processor 506, the mediadevices 508, or the portable communication devices 516 of FIG. 5, aswell as the IMS CDs 601-602 and PSTN CDs 603-605 of FIG. 6. It will beappreciated that the communication device 800 can also represent otherdevices that can operate in systems of FIGS. 1, 2A, 2B, and/or 3,communication systems 500-600 of FIGS. 5-6 such as a gaming console anda media player.

The communication device 800 shown in FIG. 8 or portions thereof canserve as a representation of one or more of the devices of system ofFIGS. 1, 2A, 2B, and 3, communication system 500, and communicationsystem 600. In addition, the controller 806 can be adapted in variousembodiments to perform the functions 562-566 and 672-674, respectively.

For instance, the communication device 800 of FIG. 8 can be used forproviding a data stream with redundancy to a consumer device in acommunication network 500. A streaming server 530 can receive video dataand can add redundancy to the video data by dividing the video data intodata segments. The data segments can be distributed across video data inthe stream. The degree to which redundancy is included can be tailoredaccording to a maximum expected data loss or corruption for the networkdata path that is used for streaming the data to a multimedia device.

It should be understood that devices described in the exemplaryembodiments can be in communication with each other via various wirelessand/or wired methodologies. The methodologies can be links that aredescribed as coupled, connected and so forth, which can includeunidirectional and/or bidirectional communication over wireless pathsand/or wired paths that utilize one or more of various protocols ormethodologies, where the coupling and/or connection can be direct (e.g.,no intervening processing device) and/or indirect (e.g., an intermediaryprocessing device such as a router).

FIG. 9 depicts an exemplary diagrammatic representation of a machine inthe form of a computer system 900 within which a set of instructions,when executed, may cause the machine to perform any one or more of themethods described above. One or more instances of the machine can beused for providing a data stream with redundancy to a consumer device ina communication network 500. A streaming server 530 can receive videodata and can add redundancy to the video data by dividing the video datainto data segments. The data segments can be distributed across videodata in the stream. The degree to which redundancy is included can betailored according to a maximum expected data loss or corruption for thenetwork data path that is used for streaming the data to a multimediadevice.

In some embodiments, the machine may be connected (e.g., using a network926) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client user machine in aserver-client user network environment, or as a peer machine in apeer-to-peer (or distributed) network environment.

The machine may comprise a server computer, a client user computer, apersonal computer (PC), a tablet, a smart phone, a laptop computer, adesktop computer, a control system, a network router, switch or bridge,or any machine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. It will beunderstood that a communication device of the subject disclosureincludes broadly any electronic device that provides voice, video ordata communication. Further, while a single machine is illustrated, theterm “machine” shall also be taken to include any collection of machinesthat individually or jointly execute a set (or multiple sets) ofinstructions to perform any one or more of the methods discussed herein.

The computer system 900 may include a processor (or controller) 902(e.g., a central processing unit (CPU)), a graphics processing unit(GPU, or both), a main memory 904 and a static memory 906, whichcommunicate with each other via a bus 908. The computer system 900 mayfurther include a display unit 910 (e.g., a liquid crystal display(LCD), a flat panel, or a solid state display). The computer system 900may include an input device 912 (e.g., a keyboard), a cursor controldevice 914 (e.g., a mouse), a disk drive unit 916, a signal generationdevice 918 (e.g., a speaker or remote control) and a network interfacedevice 920. In distributed environments, the embodiments described inthe subject disclosure can be adapted to utilize multiple display units910 controlled by two or more computer systems 900. In thisconfiguration, presentations described by the subject disclosure may inpart be shown in a first of the display units 910, while the remainingportion is presented in a second of the display units 910.

The disk drive unit 916 may include a tangible computer-readable storagemedium 922 on which is stored one or more sets of instructions (e.g.,software 924) embodying any one or more of the methods or functionsdescribed herein, including those methods illustrated above. Theinstructions 924 may also reside, completely or at least partially,within the main memory 904, the static memory 906, and/or within theprocessor 902 during execution thereof by the computer system 900. Themain memory 904 and the processor 902 also may constitute tangiblecomputer-readable storage media.

Dedicated hardware implementations including, but not limited to,application specific integrated circuits, programmable logic arrays andother hardware devices can likewise be constructed to implement themethods described herein. Application specific integrated circuits andprogrammable logic array can use downloadable instructions for executingstate machines and/or circuit configurations to implement embodiments ofthe subject disclosure. Applications that may include the apparatus andsystems of various embodiments broadly include a variety of electronicand computer systems. Some embodiments implement functions in two ormore specific interconnected hardware modules or devices with relatedcontrol and data signals communicated between and through the modules,or as portions of an application-specific integrated circuit. Thus, theexample system is applicable to software, firmware, and hardwareimplementations.

In accordance with various embodiments of the subject disclosure, theoperations or methods described herein are intended for operation assoftware programs or instructions running on or executed by a computerprocessor or other computing device, and which may include other formsof instructions manifested as a state machine implemented with logiccomponents in an application specific integrated circuit or fieldprogrammable gate array. Furthermore, software implementations (e.g.,software programs, instructions, etc.) including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the methods described herein. It is furthernoted that a computing device such as a processor, a controller, a statemachine or other suitable device for executing instructions to performoperations or methods may perform such operations directly or indirectlyby way of one or more intermediate devices directed by the computingdevice.

While the tangible computer-readable storage medium 922 is shown in anexample embodiment to be a single medium, the term “tangiblecomputer-readable storage medium” should be taken to include a singlemedium or multiple media (e.g., a centralized or distributed database,and/or associated caches and servers) that store the one or more sets ofinstructions. The term “tangible computer-readable storage medium” shallalso be taken to include any non-transitory medium that is capable ofstoring or encoding a set of instructions for execution by the machineand that cause the machine to perform any one or more of the methods ofthe subject disclosure. The term “non-transitory” as in a non-transitorycomputer-readable storage includes without limitation memories, drives,devices and anything tangible but not a signal per se.

The term “tangible computer-readable storage medium” shall accordinglybe taken to include, but not be limited to: solid-state memories such asa memory card or other package that houses one or more read-only(non-volatile) memories, random access memories, or other re-writable(volatile) memories, a magneto-optical or optical medium such as a diskor tape, or other tangible media which can be used to store information.Accordingly, the disclosure is considered to include any one or more ofa tangible computer-readable storage medium, as listed herein andincluding art-recognized equivalents and successor media, in which thesoftware implementations herein are stored.

Although the present specification describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Each of the standards for Internet and other packet switchednetwork transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) representexamples of the state of the art. Such standards are from time-to-timesuperseded by faster or more efficient equivalents having essentiallythe same functions. Wireless standards for device detection (e.g.,RFID), short-range communications (e.g., Bluetooth®, WiFi, Zigbee®), andlong-range communications (e.g., WiMAX, GSM, CDMA, LTE) can be used bycomputer system 900.

The illustrations of embodiments described herein are intended toprovide a general understanding of the structure of various embodiments,and they are not intended to serve as a complete description of all theelements and features of apparatus and systems that might make use ofthe structures described herein. Many other embodiments will be apparentto those of skill in the art upon reviewing the above description. Theexemplary embodiments can include combinations of features and/or stepsfrom multiple embodiments. Other embodiments may be utilized and derivedtherefrom, such that structural and logical substitutions and changesmay be made without departing from the scope of this disclosure. Figuresare also merely representational and may not be drawn to scale. Certainproportions thereof may be exaggerated, while others may be minimizedAccordingly, the specification and drawings are to be regarded in anillustrative rather than a restrictive sense.

Although specific embodiments have been illustrated and describedherein, it should be appreciated that any arrangement which achieves thesame or similar purpose may be substituted for the embodiments describedor shown by the subject disclosure. The subject disclosure is intendedto cover any and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, can be used in the subject disclosure.For instance, one or more features from one or more embodiments can becombined with one or more features of one or more other embodiments. Inone or more embodiments, features that are positively recited can alsobe negatively recited and excluded from the embodiment with or withoutreplacement by another structural and/or functional feature. The stepsor functions described with respect to the embodiments of the subjectdisclosure can be performed in any order. The steps or functionsdescribed with respect to the embodiments of the subject disclosure canbe performed alone or in combination with other steps or functions ofthe subject disclosure, as well as from other embodiments or from othersteps that have not been described in the subject disclosure. Further,more than or less than all of the features described with respect to anembodiment can also be utilized.

Less than all of the steps or functions described with respect to theexemplary processes or methods can also be performed in one or more ofthe exemplary embodiments. Further, the use of numerical terms todescribe a device, component, step or function, such as first, second,third, and so forth, is not intended to describe an order or functionunless expressly stated so. The use of the terms first, second, thirdand so forth, is generally to distinguish between devices, components,steps or functions unless expressly stated otherwise. Additionally, oneor more devices or components described with respect to the exemplaryembodiments can facilitate one or more functions, where the facilitating(e.g., facilitating access or facilitating establishing a connection)can include less than every step needed to perform the function or caninclude all of the steps needed to perform the function.

In one or more embodiments, a processor (which can include a controlleror circuit) has been described that performs various functions. Itshould be understood that the processor can be multiple processors,which can include distributed processors or parallel processors in asingle machine or multiple machines. The processor can be used insupporting a virtual processing environment. The virtual processingenvironment may support one or more virtual machines representingcomputers, servers, or other computing devices. In such virtualmachines, components such as microprocessors and storage devices may bevirtualized or logically represented. The processor can include a statemachine, application specific integrated circuit, and/or programmablegate array including a Field PGA. In one or more embodiments, when aprocessor executes instructions to perform “operations”, this caninclude the processor performing the operations directly and/orfacilitating, directing, or cooperating with another device or componentto perform the operations.

The Abstract of the Disclosure is provided with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description, it can beseen that various features are grouped together in a single embodimentfor the purpose of streamlining the disclosure. This method ofdisclosure is not to be interpreted as reflecting an intention that theclaimed embodiments require more features than are expressly recited ineach claim. Rather, as the following claims reflect, inventive subjectmatter lies in less than all features of a single disclosed embodiment.Thus the following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separately claimedsubject matter.

What is claimed is:
 1. A method, comprising: receiving, by a processingsystem including a processor, video content comprising a plurality ofdata frames; dividing, by the processing system, a data frame of theplurality of data frames into a plurality of data segments according toan information dispersal algorithm that is configured according to acondition of a network path; generating and distributing, according tothe information dispersal algorithm, by the processing system, aplurality of copies of the plurality of data segments across theplurality of data frames in a data stream to generate a plurality ofredundancy-enhanced data frames; and transmitting, by the processingsystem, the data stream of the video content comprising the plurality ofredundancy-enhanced data frames to a receiver via the network path. 2.The method of claim 1, further comprising determining, by the processingsystem, a switch protection interval for the network path, wherein theplurality of copies of the plurality of data segments are distributedacross the plurality of data frames to provide the redundancy over theswitch protection interval.
 3. The method of claim 1, wherein thedividing and generating and distributing is performed on each frame ofthe plurality of data frames.
 4. The method of claim 1, furthercomprising determining, by the processing system, the condition of thenetwork path.
 5. The method of claim 1, wherein the plurality of datasegments are from data representative of the data frame.
 6. The methodof claim 1, wherein the plurality of data segments create redundancy forthe data frame in the plurality of data segments.
 7. The method of claim1, wherein the plurality of data segments is sufficient to enable thereceiver to reconstruct the data frame upon a corruption of a subset ofthe plurality of data segments.
 8. The method of claim 1, wherein theinformation dispersal algorithm transforms the data frame into theplurality of data segments via a matrix product of a sequent of vectorscorresponding to the data frame.
 9. The method of claim 1, wherein thecondition comprises one of a bandwidth limitation, a switchingprotection event, a switching latency, or any combination thereof. 10.The method of claim 1, wherein the receiver extracts a first subset ofthe plurality of data frames from the plurality of redundancy-enhanceddata frames of the data stream that are received and determines acorruption of the first subset of the plurality of data frames based onan error checking algorithm.
 11. The method of claim 10, wherein thereceiver extracts a second subset of the plurality of data frames fromthe plurality of copies of the plurality of data segments that aredistributed in the plurality of redundancy-enhanced data framesresponsive to detecting the corruption of the first subset of theplurality of data frames.
 12. The method of claim 1, further comprisingtransmitting, by the processing system, the data stream to a networkinterface device to enable the network interface device to convert thedata stream into a plurality of network packets for transmission over adata network.
 13. A device comprising: a memory to store executableinstructions; and a processing system including a processorcommunicatively coupled to the memory, wherein the executableinstructions, responsive to being executed by the processing system,facilitate performance of operations comprising: receiving, via anetwork path, a data stream of video content comprising a plurality ofredundancy-enhanced data frames generated according to an informationdispersal algorithm; extracting a first subset of a plurality of dataframes from the plurality of redundancy-enhanced data frames of the datastream; detecting a corruption of the first subset of the plurality ofdata frames based on an error checking algorithm; responsive todetecting the corruption of the first subset of the plurality of dataframes, extracting a second subset of the plurality of data frames froma plurality of copies of a plurality of data segments that aredistributed in the plurality of redundancy-enhanced data frames; andsubstituting the second subset of the plurality of data segments for thefirst subset of the plurality of data frames to mitigate the corruptionthat is detected.
 14. The device of claim 13, wherein the plurality ofredundancy-enhanced data frames are generated by distributing, accordingto the information dispersal algorithm, the plurality of copies of theplurality of data segments across the plurality of data frames in thedata stream.
 15. The device of claim 13, wherein the plurality ofredundancy-enhanced data frames are generated by dividing, according tothe information dispersal algorithm, a data frame of the plurality ofdata frames into the plurality of data segments.
 16. The device of claim13, wherein the information dispersal algorithm is configured accordingto a condition of a network path.
 17. The device of claim 13, whereinthe plurality of copies of the plurality of data segments aredistributed across the plurality of data frames to provide theredundancy over a switch protection interval for the network.
 18. Amachine-readable storage medium, comprising executable instructionsthat, when executed by a processing system including a processor,facilitate performance of operations, comprising dividing a data frameof a plurality of data frames associated with video content into aplurality of data segments according to an information dispersalalgorithm that is configured according to a condition of a network path;distributing, according to the information dispersal algorithm, aplurality of copies of the plurality of data segments across theplurality of data frames in a data stream to generate a plurality ofredundancy-enhanced data frames; and transmitting the data stream of thevideo content comprising the plurality of redundancy-enhanced dataframes to a receiver via the network path.
 19. The machine-readablestorage medium of claim 18, wherein the operations further comprisedetermining a switch protection interval for the network path, whereinthe plurality of copies of the plurality of data segments aredistributed across the plurality of data frames to provide theredundancy over the switch protection interval.
 20. The machine-readablestorage medium of claim 18, wherein the receiver extracts a first subsetof the plurality of data frames from the plurality ofredundancy-enhanced data frames of the data stream that are received anddetermines a corruption of the first subset of the plurality of dataframes based on an error checking algorithm, and wherein the receiverextracts a second subset of the plurality of data frames from theplurality of copies of the plurality of data segments that aredistributed in the plurality of redundancy-enhanced data framesresponsive to detecting the corruption of the first subset of theplurality of data frames.